iT邦幫忙

2022 iThome 鐵人賽

DAY 19
0
Mobile Development

[Android] 在 activity 與 fragment 身上的 lifecycle系列 第 19

[Day 19] Activity 的 lifecycle - 甜點應用程式 - onDestroy()

  • 分享至 

  • xImage
  •  

在這篇文章,我們先運行甜點應用程式。會看到依序執行 onCreate()onStart()onResume()

當點擊裝置的返回鍵,我們可以看到依序發生 onPause()onStop()onDestroy()

onDestroy() 代表的意義是,Activity 被完全關閉,並且可以被垃圾回收 (garbage collected)

垃圾回收 (garbage collected)指的是自動化清理不再使用的物件(object)。

所以在 onDestroy() 後,裝置的作業系統瞭解到與這個 Activity 關聯的資源可以被丟棄,會繼續清理、開始記憶體的清理動作。這代表資源被釋放出來。

如果我們再點擊圖示來重啟甜點應用程式,我們可以看到嶄新的 Activity,具備先前的遊戲狀態。

當我再次點擊返回鍵導航至應用程式外,會銷毀 Activity。

但是,你也可以藉由手動調用 finish() 方法,來達到銷毀 Activity 的目的。

讓我們再重啟甜點應用程式,點擊主頁的甜點來增加銷售額。

這時,我們改點擊 Home 鍵。並且在已開啟的應用程式目錄去重新打開甜點應用程式。

在點擊 Home 鍵後,可以看到 Logcat 顯示發生onPause()onStop()

在已開啟的應用程式目錄去重新打開甜點應用程式,你會觀察到發生onStart()onResume()

如果想要練習對於 Activity 生命週期的理解,可以使用 Udacity 提供的填空圖片(Activity Lifecycle Worksheet)


參考資料


上一篇
[Day 18] Activity 的 lifecycle - 甜點應用程式 - 快捷鍵展開覆寫成員函數
下一篇
[Day 20] Activity 的 lifecycle - 甜點應用程式 - onDestroy() - 垃圾回收(garbage collected)
系列文
[Android] 在 activity 與 fragment 身上的 lifecycle30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言